package com.easylinkin.linkappapi.grid.models.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 网格日报列表VO
 *
 * @author kyj
 * @date 2024/5/16 15:39
 */
@ApiModel(description = "网格日报列表VO")
@Data
public class GridReportDayInfoVO implements Serializable {
    /**
     * id
     */
    @ApiModelProperty(value = "id", position = 1)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 日报名称
     */
    @ApiModelProperty(value = "日报名称", position = 3)
    private String reportName;

    /**
     * 填报截止时间
     */
    @ApiModelProperty(value = "填报截止时间", position = 2)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime submitDeadline;

    /**
     * 需填报人员数量
     */
    @ApiModelProperty(value = "需填报人员数量", position = 4)
    private Integer requiresSubmitNum;

    /**
     * 已填报人员数量
     */
    @ApiModelProperty(value = "已填报人员数量", position = 5)
    private Integer alreadySubmitNum;

    /**
     * 填报人
     */
    @ApiModelProperty(value = "填报人", position = 6)
    private List<GridReportDayUserInfoVO> userList;

    /**
     * 租户id、项目id
     */
    @ApiModelProperty(value = "租户id、项目id", position = 7)
    private String tenantId;
}
